<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <div th:insert="/common/common.html"></div>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        $(function () {
            $('#table').bootstrapTable({
                url: '/role/getInfo',
                method: 'POST',                      //请求方式（*）
                contentType: "application/x-www-form-urlencoded",
                toolbar: '#toolbar',              //工具按钮用哪个容器
                striped: true,                      //是否显示行间隔色
                cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
                pagination: true,                   //是否显示分页（*）
                sortable: true,                     //是否启用排序
                sortOrder: "asc",                   //排序方式
                sidePagination: "client",           //分页方式：client客户端分页，server服务端分页（*）
                pageNumber: 1,                      //初始化加载第一页，默认第一页,并记录
                pageSize: 3,                     //每页的记录行数（*）
                pageList: [3, 4, 5],        //可供选择的每页的行数（*）
                //search: true,                      //是否显示表格搜索
                // strictSearch: true,
                showColumns: true,                  //是否显示所有的列（选择显示的列）
                showRefresh: true,                  //是否显示刷新按钮
                minimumCountColumns: 2,             //最少允许的列数
                clickToSelect: true,                //是否启用点击选中行
                // height: 300,                      //行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
                uniqueId: "rid",                     //每一行的唯一标识，一般为主键列
                showToggle: true,                   //是否显示详细视图和列表视图的切换按钮
                cardView: false,                    //是否显示详细视图
                detailView: false,                  //是否显示父子表
                //得到查询的参数
                columns: [{
                    checkbox: true,
                    visible: true                  //是否显示复选框
                }, {
                    field: 'roleId',
                    title: 'ID'
                }, {
                    field: 'roleName',
                    title: '职务'
                }, {
                    field: 'roleId',
                    title: '操作',
                    align: 'center',
                    formatter: function (value, row, index) {
                        //value:是这一行的id
                        //rows:是这一行的数据
                        var roleId = value;
                        var result = "";
                        result += "<a href='javascript:;' class='btn btn-xs blue' onclick=\"EditViewById('" + roleId + "')\" title='编辑'><span class='glyphicon glyphicon-pencil'></span></a>";
                        result += "<a href='javascript:;' class='btn btn-xs red' onclick=\"DeleteByIds('" + roleId + "')\" title='删除'><span class='glyphicon glyphicon-remove'></span></a>";
                        return result;
                    }
                }]
            });

            $("[name='toggle']").attr("style", "height:34px");
            $("[name='refresh']").attr("style", "height:34px");
        })


        function inset() {
            BootstrapDialog.show({
                title: '增加',
                message: $('<div></div>').load('/role/toAdd'),
                closable: true,
                size: BootstrapDialog.SIZE_WIDE,
                buttons: [{
                    label: '取消',
                    action: function (dialog) {
                        dialog.close();
                    }
                }, {
                    label: '确定',
                    action: function (dialog) {
                        var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
                        var nodes = treeObj.getCheckedNodes(true);

                        if (nodes.length <= 0) {
                            toastr.error("请选择权限");
                            return;
                        }

                        var mids = [];
                        for (var i = 0; i < nodes.length; i++) {
                            mids.push(nodes[i].id);
                        }
                        $.ajax({
                            url: "/role/addInfo",
                            data: $("#add_form").serialize() + "&mids=" + mids,
                            dataType: "json",
                            async: true,
                            type: "post",
                            success: function (result) {
                                toastr.success("增加成功")
                                dialog.close();
                                getDate();
                            },
                            error: function (result) {
                                alert("联系管理员")
                            }
                        })
                    }
                }]
            });
        }
        function DeleteByIds(roleId){
            if (confirm("确认删除吗")){
                $.ajax({
                    url: "/role/deleteInfo?roleId="+roleId, // 请求地址
                    type: "post", // 请求方式
                    dataType: "json", // 后台返回的数据 以什么格式进行解析 json text xml  html
                    success: function (result) {// 成功回调函数
                        toastr.success("删除成功");
                        $.fn.zTree.init($("#treeDemo"), setting);
                        $("#table").bootstrapTable("refresh");
                    },
                    error: function (result) {
                        toastr.error("网络异常")
                    }
                })
            }
        }
        function EditViewById(roleId) {
            BootstrapDialog.show({
                title: '修改',
                message: $('<div></div>').load('/role/toUpdate?roleId='+roleId),
                closable: true,
                size: BootstrapDialog.SIZE_WIDE,
                buttons: [{
                    label: '取消',
                    action: function (dialog) {
                        dialog.close();
                    }
                }, {
                    label: '确定',
                    action: function (dialog) {
                        var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
                        var nodes = treeObj.getCheckedNodes(true);

                        if (nodes.length <= 0) {
                            toastr.error("请选择权限");
                            return;
                        }

                        var mids = [];
                        for (var i = 0; i < nodes.length; i++) {
                            mids.push(nodes[i].id);
                        }
                        $.ajax({
                            url: "/role/updateInfo",
                            data: $("#update_form").serialize() + "&mids=" + mids,
                            dataType: "json",
                            async: true,
                            type: "post",
                            success: function (result) {
                                toastr.success("修改成功")
                                dialog.close();
                                getDate();
                            },
                            error: function (result) {
                                alert("联系管理员")
                            }
                        })
                    }
                }]
            });
        }

        function getDate() {
            $("#table").bootstrapTable("refresh");
        }
    </script>
</head>
<body>
<input type="button" class="btn btn-info" value="增加" onclick="inset()">
<table id="table"></table>
</body>
</html>